package com.xinkao.example.dao;

import com.alibaba.fastjson.JSONObject;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author: ZSX
 * @description: 用户Dao
 * @date: 2021/02/01
 */
public interface UserDao {
	/**
	 * 总条数
	 * @param jsonObject
	 * @return
	 */
	int countUser(JSONObject jsonObject);

	/**
	 * 角色下用户数
	 * @param jsonObject
	 * @return
	 */
	int countUserByRole(JSONObject jsonObject);

	/**
	 * 校验用户信息
	 * @param jsonObject
	 * @return
	 */
	int verifyUser(JSONObject jsonObject);

	/**
	 * 保存
	 * @param jsonObject
	 */
	void addUser(JSONObject jsonObject);

	/**
	 * 更新
	 * @param jsonObject
	 */
	void updateUser(JSONObject jsonObject);

	/**
	 * 用户列表信息
	 * @param jsonObject
	 * @return
	 */
	List<JSONObject> listAllUser(JSONObject jsonObject);

	/**
	 * 用户详细信息
	 * @param userId
	 * @return
	 */
	JSONObject detailUser(String userId);

	/**
	 * 删除用户
	 * @param userId
	 * @return
	 */
	int deleteUser(String userId);

	/**
	 * 修改密码
	 * @param userId
	 * @param password
	 * @return
	 */
	int updatePassword(String userId,String password);

	/**
	 * 查询用户是否超管
	 * @param name
	 * @return
	 */
	JSONObject getUserByName(String name);
}
